home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Internet Tools 1993 July / Internet Tools.iso / RockRidge / mail / metamail / tahoe / glob.h < prev    next >
Encoding:
C/C++ Source or Header  |  1988-02-18  |  3.8 KB  |  93 lines

  1. /*
  2.  * Copyright (c) 1980 Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms are permitted
  6.  * provided that this notice is preserved and that due credit is given
  7.  * to the University of California at Berkeley. The name of the University
  8.  * may not be used to endorse or promote products derived from this
  9.  * software without specific prior written permission. This software
  10.  * is provided ``as is'' without express or implied warranty.
  11.  *
  12.  *    @(#)glob.h    5.3 (Berkeley) 2/18/88
  13.  */
  14.  
  15. /*
  16.  * A bunch of global variable declarations lie herein.
  17.  * def.h must be included first.
  18.  */
  19.  
  20. int    msgCount;            /* Count of messages read in */
  21. int    mypid;                /* Current process id */
  22. int    rcvmode;            /* True if receiving mail */
  23. int    sawcom;                /* Set after first command */
  24. int    hflag;                /* Sequence number for network -h */
  25. char    *rflag;                /* -r address for network */
  26. char    *Tflag;                /* -T temp file for netnews */
  27. char    nosrc;                /* Don't source /usr/lib/Mail.rc */
  28. char    noheader;            /* Suprress initial header listing */
  29. int    selfsent;            /* User sent self something */
  30. int    senderr;            /* An error while checking */
  31. int    edit;                /* Indicates editing a file */
  32. int    readonly;            /* Will be unable to rewrite file */
  33. int    noreset;            /* String resets suspended */
  34. int    sourcing;            /* Currently reading variant file */
  35. int    loading;            /* Loading user definitions */
  36. int    cond;                /* Current state of conditional exc. */
  37. FILE    *itf;                /* Input temp file buffer */
  38. FILE    *otf;                /* Output temp file buffer */
  39. FILE    *pipef;                /* Pipe file we have opened */
  40. int    image;                /* File descriptor for image of msg */
  41. FILE    *input;                /* Current command input file */
  42. char    *editfile;            /* Name of file being edited */
  43. char    *sflag;                /* Subject given from non tty */
  44. int    outtty;                /* True if standard output a tty */
  45. int    intty;                /* True if standard input a tty */
  46. int    baud;                /* Output baud rate */
  47. char    mbox[PATHSIZE];            /* Name of mailbox file */
  48. char    mailname[PATHSIZE];        /* Name of system mailbox */
  49. int    uid;                /* The invoker's user id */
  50. char    mailrc[PATHSIZE];        /* Name of startup file */
  51. char    deadletter[PATHSIZE];        /* Name of #/dead.letter */
  52. char    homedir[PATHSIZE];        /* Path name of home directory */
  53. char    myname[PATHSIZE];        /* My login id */
  54. off_t    mailsize;            /* Size of system mailbox */
  55. int    lexnumber;            /* Number of TNUMBER from scan() */
  56. char    lexstring[STRINGLEN];        /* String from TSTRING, scan() */
  57. int    regretp;            /* Pointer to TOS of regret tokens */
  58. int    regretstack[REGDEP];        /* Stack of regretted tokens */
  59. char    *stringstack[REGDEP];        /* Stack of regretted strings */
  60. int    numberstack[REGDEP];        /* Stack of regretted numbers */
  61. struct    message    *dot;            /* Pointer to current message */
  62. struct    message    *message;        /* The actual message structure */
  63. struct    var    *variables[HSHSIZE];    /* Pointer to active var list */
  64. struct    grouphead    *groups[HSHSIZE];/* Pointer to active groups */
  65. struct    ignore        *ignore[HSHSIZE];/* Pointer to ignored fields */
  66. struct    ignore        *retain[HSHSIZE];/* Pointer to retained fields */
  67. int    nretained;            /* Number of retained fields */
  68. char    **altnames;            /* List of alternate names for user */
  69. char    **localnames;            /* List of aliases for our local host */
  70. int    debug;                /* Debug flag set */
  71. int    rmail;                /* Being called as rmail */
  72. int    screenwidth;            /* Screen width, or best guess */
  73. int    screenheight;            /* Screen height, or best guess */
  74.  
  75. #include <setjmp.h>
  76.  
  77. jmp_buf    srbuf;
  78.  
  79.  
  80. /*
  81.  * The pointers for the string allocation routines,
  82.  * there are NSPACE independent areas.
  83.  * The first holds STRINGSIZE bytes, the next
  84.  * twice as much, and so on.
  85.  */
  86.  
  87. #define    NSPACE    25            /* Total number of string spaces */
  88. struct strings {
  89.     char    *s_topFree;        /* Beginning of this area */
  90.     char    *s_nextFree;        /* Next alloctable place here */
  91.     unsigned s_nleft;        /* Number of bytes left here */
  92. } stringdope[NSPACE];
  93.